IF exists(SELECT * FROM dbo.sysobjects WHERE name='r2_maandVakGemiddelde' AND xtype='FN') 
BEGIN
	DROP FUNCTION r2_maandVakGemiddelde
END
GO

create function r2_maandVakGemiddelde(@klas varchar(5),@periode int)
returns @resultaat table(vak char(2), procent int)
as
begin
  declare @hulpcijfers table(vak char(2),
		cijfer float,
		max float)

  declare @vakkenKlassen table(klas varchar(5),
			vak char(2))

  insert into @vakkenKlassen(klas,vak)
  select klas,vak from leraars.dbo.geefKlassenVakkenSamenMet(@klas)

  insert into @hulpcijfers(vak,cijfer,max)
  select c.vak,
       round(c.cijfer,1) as cijfer,round(c.max ,1) as max
  from r_maandcijfers as c
  	left join leerlingen..leerlingen as l
  	on l.inschrijvingsNr = c.inschrijvingsNr
  	where l.klas in (select klas from @vakkenKlassen where vak = c.vak)
	and c.periode = @periode
      and c.cijfer >=0

  insert into @resultaat(vak,procent)
  select vak,studiebegeleiding.dbo.r_procent(
	sum(cijfer),
	sum(max))
  from @hulpcijfers
  group by vak
return
end